package com.hns.can.mina.handle;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * @版权：HNS 版权所有 (c) 2013
 * @author:Fisher
 * @version Revision 1.0.0
 * @email:zhuangcaijin@126.com
 * @see:
 * @创建日期：2015-10-9
 * @功能说明：
 * @begin
 * @修改记录:安全沙箱验证服务
 * @修改后版本          修改人      	修改内容
 * @2015-10-9  	         Fisher        	创建
 * @end
 */
public class PolicyServer implements Runnable {
    
    private final int    policy_port = 843;
    private boolean      status      = true;
    
    private ServerSocket server      = null;
    
    @Override
    public void run() {
        // 创建安全验证服务器
        server = SocketUtil.getServerSocket(policy_port);
        
        while (status) {
            Socket socket = SocketUtil.getSocket(server);
            new Thread(new PolicyThread(socket)).start();
        }
    }
    
    /**
     * 启动服务器
     */
    public void startPolicy() {
        new Thread(this).start();
    }
    
    /**
     * 关闭服务器
     */
    public void stopPolicy() {
        status = false;
        if (server != null && !server.isClosed()) {
            try {
                server.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
